#include<bits/stdc++.h>
using namespace std;

stack<int> y;
string op = "+-*/^";

void calc(char opp)
{
	int b = y.top();
	y.pop();
	int a = y.top();
	y.pop();
	switch (opp)
	{
	case '+':y.push(a + b); break;
	case '-':y.push(a - b); break;
	case '*':y.push(a * b); break;
	case '/':y.push(a / b); break;
	case '^':y.push(pow(a, b)); break;
	}
}


void inX(string s)
{
	int i = 0;
	while (s[i] != '@')
	{
		if (op.find(s[i]) != -1)
		{
			calc(s[i]);
			i++;
			continue;
		}
		int dot = s.find('.', i);
		y.push(atoi(s.substr(i, dot - i).c_str()));
		i = dot + 1;
	}
}

int main()
{
	string s;
	cin >> s;
	inX(s);
	cout << y.top() << endl;
}